Parsing is one kind of data processing and means a series of processes processing data by a predetermined reference. For the parsing, there is a need for original data and a parsing rule corresponding to a predetermined reference for processing the original data.
The parsing rule may be corrected, changed, or updated. In this case, for consistency of a parsing process, a sharing resource, in which the parsing rule is stored, may require locking, or the reference by a thread, which processes the parsing process, may be stopped.
When the thread processing the parsing process for the sharing resource, in which the parsing rule is stored, refers to the parsing rule, consistency may be maintained by prohibiting a correction, a change, or an update of the parsing rule by using the lock for the corresponding parsing rule. However, the referring of the parsing rule by the thread processing the parsing process occupies most of the entire operation time, so that performance of the parsing process may be degraded by the lock.
As another method, consistency of the entire process may be maintained by correcting, changing, or updating the parsing rule when the thread processing the parsing process does not refer to the parsing rule. The method does not require the lock, but needs to stop the parsing process and then re-start the parsing process, so that performance of the parsing process may be additionally degraded.
Accordingly, a solution for maintaining consistency of the parsing process and preventing performance of the parsing process from being degraded is demanded.